package etp.client;

import java.util.Date;
import java.util.List;


public interface TaskModel {

	public void addTaskModelListener(TaskModelListener listener);
	
	public void removeTaskModelListener(TaskModelListener listener);
	
	public Tarefa getTarefa(int index);

	public Tarefa getTarefa(String cod);
	
	public int getTarefaCount();
	
	public int indexOfTask(Tarefa t);
	
	public boolean validaDependencia(Tarefa origem, Tarefa destino);
	
	public Date calcInitTime(Tarefa t);
	
	public Date calcEndTime(Tarefa t, Date inicio);
	
	public void clear();
	
	public Projeto getProjeto();
	
	public void setProjeto(Projeto projeto);
	
	public List<Tarefa> getListaDependentes(Tarefa t);
	
	public List<Tarefa> getUpdatedDrafts(Tarefa t);
	
	public GrafoDependencia getGrafoDependencia();
}
